const joi = require("joi"); // 导入定义验证规则的包
// 定义验证规则
const nm = joi.string().min(1).max(15).required(); // 用户名验证规则
const pwd = joi.string().alphanum().min(1).max(20).required(); // 密码验证规则
// 手机号验证规则
const acc = joi
  .string()
  .pattern(
    /^(?:(?:\+|00)86)?1(?:(?:3[\d])|(?:4[5-79])|(?:5[0-35-9])|(?:6[5-7])|(?:7[0-8])|(?:8[\d])|(?:9[1589]))\d{8}$/
  )
  .required();
const tokenTime = joi.number();
const id = joi.number();
const pic = joi.string();
// 定义验证注册表单数据的验证规则对象
exports.worker_reg_schema = {
  body: {
    nm,
    acc,
    pwd,
  },
};
// 定义验证登录表单数据的验证规则对象
exports.worker_login_schema = {
  body: {
    acc,
    pwd,
    tokenTime,
  },
};
// 定义验证重置密码的验证规则对象
exports.worker_update_pwd_schema = {
  body: {
    id,
    oldPwd: pwd,
    newPwd: joi.not(joi.ref("oldPwd")).concat(pwd),
    // joi.ref("oldPwd") 表示newPwd的值必须和oldPwd的值保持一致
    // joi.not(joi.ref("oldPwd")) 表示newPwd的值不能与oldPwd的值相等
    // .concat() 表示合并验证规则
  },
};
// 定义验证重置密码的验证规则对象
exports.worker_alterData_schema = {
  body: {
    id,
    acc,
    nm,
    pic,
  },
};
